﻿using Microsoft.VisualStudio.TestTools.UnitTesting;
using Should.Fluent;

namespace Is.Test
{
    [TestClass]
    public class IsNullableBoolExtensionsTest
    {
        [TestMethod]
        public void Test_IsNull()
        {
            bool? nullbool = null;
            nullbool.Is().Null().Should().Be.True();
            bool? nullableTrue = true;
            nullableTrue.Is().Null().Should().Be.False();
            bool? nullableFalse = false;
            nullableFalse.Is().Null().Should().Be.False();
        }

        [TestMethod]
        public void Test_IsTrue()
        {
            bool? nullbool = null;
            nullbool.Is().True().Should().Be.False();
            bool? nullableTrue = true;
            nullableTrue.Is().True().Should().Be.True();
            bool? nullableFalse = false;
            nullableFalse.Is().True().Should().Be.False();
        }

        [TestMethod]
        public void Test_IsFalse()
        {
            bool? nullbool = null;
            nullbool.Is().False().Should().Be.False();
            bool? nullableTrue = true;
            nullableTrue.Is().False().Should().Be.False();
            bool? nullableFalse = false;
            nullableFalse.Is().False().Should().Be.True();
        }
    }
}
